package com.youdoneed.user.model;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 权限信息
 *
 * @author Ewing
 * @date 2017.2.6
 */
public class Authority implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 权限ID
     */
    private String authorityId;

    /**
     * 父权限ID
     */
    private String superId;

    /**
     * 父权限名称
     */
    private String superName;

    /**
     * 权限名称
     */
    private String name;

    /**
     * 权限描述
     */
    private String description;

    /**
     * 权限码，根据模块、功能等命名
     */
    private String code;

    /**
     * 权限类型 1：权限点 2：URL菜单 3：按钮
     */
    private Integer type;

    /**
     * 菜单显示顺序
     * 具体实现后续修改
     */
    private Integer sorter;

    /**
     * 菜单URL
     */
    private String menuUrl;

    /**
     * 图标
     */
    private String icon;

    /**
     * 权限状态 1：正常 2：禁用
     */
    private Integer status;

    /**
     * 创建时间
     */
    private Date createTime;

    private List<Authority> subAuthorities;

    public String getAuthorityId() {
        return authorityId;
    }

    public void setAuthorityId(String authorityId) {
        this.authorityId = authorityId;
    }

    public String getSuperId() {
        return superId;
    }

    public void setSuperId(String superId) {
        this.superId = superId;
    }

    public String getSuperName() {
        return superName;
    }

    public void setSuperName(String superName) {
        this.superName = superName;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getSorter() {
        return sorter;
    }

    public void setSorter(Integer sorter) {
        this.sorter = sorter;
    }

    public String getMenuUrl() {
        return menuUrl;
    }

    public void setMenuUrl(String menuUrl) {
        this.menuUrl = menuUrl;
    }

    public String getIcon() {
        return icon;
    }

    public void setIcon(String icon) {
        this.icon = icon;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public List<Authority> getSubAuthorities() {
        return subAuthorities;
    }

    public void setSubAuthorities(List<Authority> subAuthorities) {
        this.subAuthorities = subAuthorities;
    }
}
